Method and apparatus for rate limiting client requests

ABSTRACT

As a server device receives packets from a client device, the server device counts the number of packets received over a particular time interval and compares the result with a preset packet transmission threshold. When the number of packets received from the client device in the time period reaches or exceeds the packet threshold, the server device can detect a potential malfunction of the client device and as such, refrains from processing further packets from the client device. By rate limiting based upon the number of packets received from the client device over a given time interval, rather than on the bandwidth taken by the requests received from the client device, the server device can minimize monopolization of the server device&#39;s resources as caused by the packets received at a relatively low rate from a client device.

BACKGROUND

A computer network includes computer processors or “hosts” that hostsoftware applications that provide or request services, or both. Thehosts may be network terminals or end stations that do not performnetwork traffic routing or forwarding functions. The hosts communicatewith each other through network devices, such as switches and routerswhich perform routing and forwarding functions. When a host is added toa network, the host is typically assigned a logical network address.

In large-scale cable modem networks, end user hosts such as cable modemsbecome active and inactive regularly as users initiate and terminate useof service. In this context, it is wasteful to give every computer aunique and permanent network address. A number of addresses sufficientfor the simultaneously operating computers can be shared and re-assignedas one host drops off the network and another host adds onto thenetwork. Configuring each host is a tedious process to perform manually.

The Dynamic Host Configuration Protocol (DHCP) provides a mechanismthrough which computers using Transmission Control Protocol/InternetProtocol (TCP/IP) can obtain network addresses and other configurationinformation automatically. A DHCP server process operates on a DHCPserver that is conveniently located for several hosts on one or morelocal networks. As a host comes onto the network, the host and DHCPserver exchange DHCP messages and, as a result of the exchange, the DHCPserver assigns the host an Internet Protocol (IP) address for a givenlease period. Halfway through the lease period, the host exchanges DHCPmessages with the DHCP server to renew the lease and maintain the IPaddress.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, features and advantages of theinvention will be apparent from the following description of particularembodiments of the invention, as illustrated in the accompanyingdrawings in which like reference characters refer to the same partsthroughout the different views. The drawings are not necessarily toscale, emphasis instead being placed upon illustrating the principles ofthe invention.

FIG. 1 illustrates a schematic representation of a communicationsnetwork, according to one embodiment of the invention.

FIG. 2 is a representation of a timeline for an exchange of DHCPmessages between the client device and the server device of FIG. 1.

FIG. 3 is a flowchart that illustrates a procedure performed by theserver device of FIG. 1 when rate limiting packet requests from a clientdevice, according to one embodiment of the invention.

FIG. 4 is a representation of a timeline for an erroneous exchange ofDHCP messages between the client device and the server device of FIG. 1.

FIG. 5 is a flowchart that illustrates another procedure performed bythe server device of FIG. 1 when rate limiting packet requests from aclient device, according to one embodiment of the invention.

DETAILED DESCRIPTION

Embodiments of the present invention relate to a method and apparatusfor rate limiting client requests based upon the number of requests orpackets received from a particular client device during a given timeinterval. As a server device receives packets from a client device, theserver device counts the number of packets received over a particulartime interval and compares the result with a preset packet transmissionthreshold. When the number of packets received from the client device inthe time period reaches or exceeds the packet threshold, the serverdevice can detect a potential malfunction of the client device and, assuch, can refrain from processing further packets from the clientdevice. By rate limiting based upon the number of packets received fromthe client device over a given time interval rather than based upon thebandwidth of the requests, the server device can minimize monopolizationof the server device's resources as caused by the packets received at arelatively low rate from a client device. Additionally, the serverdevice can continue to receive packets from the client device and canmonitor the number of packets received over a given time interval. Insuch a case, if the client device corrects its behavior and transmitspackets to the server device over a timeframe that is below the packetthreshold, the server device can then accept and process additionalpackets from the client device.

FIG. 1 illustrates an arrangement of a data communications network 10,such as a cable modem network. The network 10 includes a computerizeddevice 12, such as laptop computer or stand-alone personal computer, anda client device 16, such as a cable modem. The cable modem 16 isconfigured to provide the computerized device 12 with access to awide-area network (WAN) 22, such as the Internet, using a TCP/IPcommunications protocol.

When the modem 16 appears on the network 10, such as after beingconnected to the network 10 and powered, the modem 16 does not include anetwork address, such as an IP address, to identify itself and thecomputerized device 12 on the WAN 22. As shown, the network 10 includesa DHCP server device 20 that, in one arrangement, includes a controller25, such as a processor and a memory, electrically coupled to one ormore communications interfaces 27 via an interconnection mechanism 29.The DHCP server device 20 is configured to assign an IP addresses torequesting client devices on the network 10 for given period of time,termed a lease period.

For example, with reference to FIG. 2, when the cable modem 16 appearson the network 10, the modem 16 transmits, using the TCP/IP protocol, aDHCP discover message 50 to the DHCP server device 20 to initiate theDHCP process. In response, the DHCP server device 20 returns one or moreoffer messages 52 to the modem 16. The modem 16 then sends the DHCPserver device 20 a DHCP request message 54 to request the lease of an IPaddress and in response, receives a DHCP acknowledgement (ACK) 56 alongwith an IP address. As indicated above, the client device 16 leases theIP address for a given period of lease period 58, such as a two hourperiod. If the client device 16 requires continued use of the IPaddress, to renegotiate the lease with the DHCP server device 20 andbegin a second lease period 90, the client device 16 initiates therenewal approximately halfway through the lease time 58 by transmittinganother DHCP request message 54 to the DHCP server device 20 and, inreturn, receiving an ACK 56 in response.

In certain cases, the cable modem 16 can malfunction and erroneouslytransmit packets to the DHCP server device 20 at a relatively low rate,such as a rate between one packet per second and one-thousand packetsper second. Such a range of transmission rates can be consideredsubstantially faster than the rate at which the DHCP server device 20typically receives (e.g., one packet per hour) packets. However, thisrange of packet transmission rates is relatively low compared to thepacket transmission rates at which conventional rate limiting procedureswould be utilized. In one arrangement, the DHCP server device 20 (e.g.,a controller such as a memory and a processor of the DHCP server device20) is configured to perform a rate limiting procedure for incomingpackets which accounts for packets transmitted at a relatively low ratefrom the client devices 16 in the network 10. While the description ofthe rate limiting procedure is related to the single client device 16,it should be understood that the DHCP server device 20 performs the ratelimiting procedure when receiving packets at a relatively low rate oftransmission from multiple client devices 16 in the network 10. FIG. 3is a flowchart 200 that illustrates a procedure performed by the DHCPserver device 20 when performing such a rate limiting procedure.

In step 202, the DHCP server device 20 receives packets from the clientdevice 16 within a first time interval. In one arrangement, the packetsare DHCP request packets transmitted from the client device 16 thatinclude a request to renew a lease of an Internet Protocol (IP) addressinitially provided by the DHCP server device 20. For example, withreference to FIG. 4, the client device 16 erroneously transmits multipleDHCP request packets 64 to the DHCP server device 20 at a rate of onepacket per second during a time period between the start 62 of thesecond hour of the lease period 58 and the end 60 of the lease period58. The DHCP server device 20 receives the DHCP request packets 64 andprovides corresponding ACK packets 65 back to the client device 16. Forthe purpose of the rate limiting procedure, the DHCP server device 20analyzes the DHCP request packets 64 within a given time interval 66,such as a thirty second time interval, where the time interval 66 isless than the lease period 58.

Returning to FIG. 3, in step 204, the DHCP server device 20 detects apacket transmission rate 24 based upon the number of packets receivedfrom the client device within the first time interval and a duration ofthe first time interval. For example, as indicated in FIG. 4, assume theDHCP server device 20 receives fifteen DHCP request packets 64 from asingle client device within a thirty second time interval 66. The DHCPserver device 20 can then calculate the packet transmission rate 24 asthe ratio of fifteen packets 64 transmitted from the client device 16over the thirty second time interval 66, for example.

Returning to FIG. 3, in step 206, the DHCP server device 20 compares thepacket transmission rate 24 with a first packet transmission threshold26. In one arrangement, the first packet transmission threshold 26represents an erroneously high packet transmission rate from a clientdevice 16. A comparison of the packet transmission rate 24 with thefirst packet transmission threshold 26 allows the DHCP server device 20to detect if a client device 16 is monopolizing the resources of theDHCP server device 20.

In step 208, when the packet transmission rate 24 is less than the firstpacket transmission threshold 26 the DHCP server device 20 processes thepackets from the client device 16. For example, with reference to FIG.4, assume the DHCP server device 20 receives five request packets 64from a single client device 16 within a thirty second time interval 66and the first packet transmission threshold 26 of the DHCP server device20 is set to ten packets within a thirty second interval. Based upon acomparison of the packet transmission rate 24 with the first packettransmission threshold 26, the DHCP server device 20 detects that thepacket transmission rate 24 is less than the first packet transmissionthreshold 26 thereby indicating that the client device 16 is operatingproperly and is not monopolizing processing resources of the DHCP serverdevice 20. As a result, the DHCP server device 20 continues to processpackets received from the client device 16 (e.g., transmitting ACKpackets to the client device 16 in response to receiving DHCP requests).

Returning to FIG. 3, in step 210, when the packet transmission rate 24reaches the first packet transmission threshold, the DHCP server device20 begins discarding packets received from the client device 16. Forexample, with reference to FIG. 4, assume the DHCP server device 20receives fifteen packets 64 from a client device 16 within a thirtysecond time interval 66 and the first packet transmission threshold 26of the DHCP server device 20 is set to ten packets within a thirtysecond interval. Based upon a comparison of the packet transmission rate24 with the first packet transmission threshold 26, the DHCP serverdevice 20 detects that the packet transmission rate 24 is greater thanthe first packet transmission threshold 26. As a result, while the DHCPserver device 20 will continue to receive packets from the client device16, the DHCP server device 20 will discontinue the processing of packetsreceived from the client device 16 (e.g., refrain from transmitting ACKpackets to the client device 16 in response to receiving DHCP requests).

By rate limiting a client device 16 based upon the number of packetsreceived from the client device 16 over a given time interval 66 ratherthan on the bandwidth of the requests received from the client device16, the DHCP server device 20 can minimize monopolization of the serverdevice's resources caused by the packets received at a relatively lowrate. Additionally, it should be understood that the client device 16sends the DHCP request packets 64 to the DHCP server device 20 using theTCP/IP protocol. As such, the overall size or length of the packets 64varies from packet to packet. The aforementioned rate limitingprocedure, however, is not dependent upon the size the packets receivedby the DHCP server device 20 over a time period because the ratelimiting procedure is based upon the number of packets received from theclient device in a given time period.

In one arrangement, in order to perform the rate limiting proceduredescribed above, the DHCP server device 20 must first identify theclient devices 16 in the network 10 transmitting the multiple packets tothe serve device 20. For example, as indicated in FIG. 1, the DHCPserver device 20 receives DHCP request packets 64 not only from theclient device 16, but from other client devices (not shown) in thenetwork 10. In order to accurately rate limit the DHCP request packetsreceived from a particular client device 16, the DHCP server device 20detects the origin or source for each of the packets it receives. In onearrangement, as shown in FIG. 1, to detect the source of the receivedDHCP request packets 64, the DHCP server device 20 reviews a clienthardware address field 72 of each DHCP request packet 64. For example,in a given time interval, if upon review of the client hardware addressfield 72 of fifteen DHCP request packets 64 the server device 16 detectsthat fourteen of the packets 64 originated from the cable modem 16, theDHCP server device 20 could detect that the cable modem 16 waserroneously sending messages at a relatively high rate. As such, theDHCP server device 20 can rate limit packets transmitted from the cablemodem 16 while continuing to process packets transmitted from otherclient devices in the network 10.

As indicated above, in the case where the DHCP server device 20 detectsthat the packet transmission rate 24 associated with a particular clientdevice 16 in the network 10 exceeds the preset packet transmissionthreshold, the DHCP server device 20 will discard or discontinueprocessing of the packets 64 received from the client device 16 as itreceives the packets from the client device 16. For example, as shown inFIG. 4, following the first time interval 66 and during the time periodbetween the start 62 of the second hour of the lease period 58 and theend 60 of the lease period 58, the DHCP server device 20 continues todiscard packets 64 received from the client device 16. Also in the timeperiod between the start 62 of the second hour of the lease period 58and the end 60 of the lease period 58, the DHCP server device 20 alsomonitors the number of packets received from the client device 16 over asecond time interval. Based upon such monitoring, the DHCP server device20 can detect whether the client device 16 refrains from transmittingmultiple packets, such as DHCP request packets, to the DHCP serverdevice 20. In the event the client device 16 does refrain from suchactivity, and a result of the detection, the DHCP server device 20 canprovide the client device 16 with an opportunity to resume its previousinteraction with the DHCP server device 20.

In one arrangement, as shown in FIG. 4, the DHCP server device 20monitors the packets 80 received from the client device 16 over a secondtime interval 82. While the duration of the second time interval 82 canbe equal to the duration of the first time interval 66, it should beunderstood that the second time interval 82 monitored by the DHCP serverdevice 20 can be less than or greater that the duration first timeinterval 66. During the monitoring process, the DHCP server device 20detects a packet transmission rate associated with the interval basedupon the number of packets 80 received from the client device 16 withinthe second time interval 82 and the duration of the second time interval82. The DHCP server device 20 then compares the detected packettransmission rate with a second packet transmission threshold. In onearrangement, the second packet transmission threshold is substantiallyless that the first packet transmission threshold. For example, in thecase where the first packet transmission threshold is set to ten packetswithin a thirty second interval, the second packet transmissionthreshold can be set to five packets within a thirty second timeinterval. By using a substantially reduced value of the second packettransmission threshold as a basis of comparison the DHCP server device20 can ensure that any changes in the packet transmission rateassociated with the client device 16 represent actual changes in thebehavior of the client device 16. When the detected packet transmissionrate falls below the second packet transmission threshold, the DHCPserver device 20 detects that the client device 16 has corrected itsbehavior and, as a result can process subsequent packets received fromthe client device 16.

For example, as shown in FIG. 4, assume the DHCP server device 20monitors packets 80 received from the client device 16 over a secondtime interval 82 during the end of the first IP address lease period 58and the beginning of a second IP address lease period 90. As shown,during the second time interval 82 near the end of the first leaseperiod 58, the client device 16 transmits three DHCP request messages64-1, 64-2, 64-3 to the DHCP server device 20. Also during the secondtime interval 82 at the end of the first lease period 58 and the startof the second lease period 90, the client device 16 transmits a secondDHCP discover message 92 to the DHCP server device 20 to renegotiate thelease period with the DHCP server device 20.

In the case where a time duration 95 between the last DHCP requestmessage 64-3 and the second DHCP discover message 92 is relatively long,when the DHCP server device 20 receives the second DHCP discover message92, the detected packet transmission rate for the time interval 82 wouldfall below the second packet transmission threshold. As a result, theDHCP server device 20 would process the second DHCP discover message 92received from the client device 16. For example, assume that the secondtime interval 82 (e.g., the time between the transmission of the firstDHCP request messages 64-1 and the transmission of the DHCP discovermessage 92) has a duration of thirty seconds. The DHCP server device 20can then detect the second packet transmission rate as the ratio of fourpackets over thirty seconds. In the case where the second packettransmission rate is set to five packets every thirty seconds, becausethe detected packet transmission rate falls below the second packettransmission threshold, the DHCP server device 20 processes the DHCPdiscover message 92 from the client device 16 by transmitting an offer96 to the client device 16. The DHCP server device 20 receives a requestmessage (not shown) from the client device and transmits an ACK message(not shown) to renew the lease to the client device 16.

In the case where the time interval 95 between the last DHCP requestmessage 64-3 and the second DHCP discover message 92 is relativelyshort, the detected packet transmission rate for the time interval 82would not fall below the second packet transmission threshold. As aresult, the DHCP server device 20 would not process the second DHCPdiscover message 92 received from the client device 16. For example,assume that the second time interval 82 (e.g., the time between thetransmission of the first DHCP request messages 64-1 and thetransmission of the DHCP discover message 92) has a duration of twentyseconds. The DHCP server device 20 detects the second packettransmission rate as the ratio of four packets over twenty seconds. Inthe case where the second packet transmission rate is set to fivepackets every thirty seconds, because the detected packet transmissionrate does not fall below the second packet transmission threshold, theDHCP server device 20 does not process the DHCP discover message 92 fromthe client device 16. However, per the TCP/IP protocol, the clientdevice 16 retransmits the DHCP discovery message 92 at incrementallyincreasing amounts of time from the last DHCP request message 64-3(e.g., two seconds, four seconds, eight seconds, etc.) until thedetected packet transmission rate falls below the second packettransmission threshold thereby causing the DHCP server device 20 toprocess the DHCP discovery message 92.

As indicated above, as a result of the rate limiting procedure, the DHCPserver device 20 can discontinue processing of packets received from theclient device 16 but will continue to receive and monitor packets fromthe client device 16. As a result, in the case where the client device16 refrains from transmitting multiple packets, such as DHCP requestpackets, the DHCP server device 20 provides the client device 16 with anopportunity to resume its previous interaction with the DHCP serverdevice 20. In such an arrangement, the DHCP server device 20 performs agenerally passive role in correcting the behavior of the client device16. In one arrangement, the DHCP server device 20 also attempts toactively correct the activity of the client device 16 while discardingthe packets received from the client device 16. FIG. 5 is a flowchart400 that illustrates such a procedure performed by the DHCP serverdevice 20.

In step 402, the DHCP server device 20 transmits a reset command to theclient device 16 when the packet transmission rate reaches the firstpacket transmission threshold. For example, as shown in FIG. 4, duringan IP address lease period 58 during which the client device 16possesses a lease for an IP address, the client device 16 canerroneously transmit multiple DHCP request packets 64 to the DHCP serverdevice 20 in an attempt to renew the lease for an assigned IP address.However, as shown, these DHCP request packets 64 are erroneouslytransmitted before the end of the lease period 60. In response to eachof the DHCP request packets 64, the DHCP server device 20 transmits, asthe reset command, a negative acknowledgement (NAK) to the client device16 in an attempt to stop the client device 16 from transmitting the DHCPrequest packets 64. The NAKs indicate a denial, by the DHCP serverdevice 20, of the client device's 16 requests to renew the lease of theIP address initially provided by the DHCP server device 20.

In step 404, the DHCP server device 20 detects a reply from the clientdevice 16 in response to the reset command. For example, the clientdevice 16 can transmit a response signals to the DHCP server device 20in response to the reset command.

In step 406, when the reply is a reset indicating activity from theclient device 16 that indicates that the client device 16 has resetitself, the server device processes subsequent packets received from theclient device 16. In one arrangement, when the client has reset itself,the client device 16 can transmit a DHCP discover message to the DHCPserver device 20 to initiate an IP address assignment procedure with theserver device. In response to receiving the DHCP discover message, theserver device processes subsequent packets received from the clientdevice 16. In another arrangement, when the client device 16 has resetitself, the client device 16 refrains from transmitting packets to theDHCP server device 20 such that the packet transmission rate falls belowthe first packet transmission threshold.

In step 408, when the reply lacks a reset indicating packet, the DHCPserver device 20 continues to receive packets from the client device 16within a second time interval, detects the packet transmission ratebased upon the number of packets received from the client device 16within the second time interval and the duration of the second timeinterval, and compares the packet transmission rate with a second packettransmission threshold. For example, when the reply includes additionalDHCP request packets from the client device 16, the DHCP server device20 will continue to receive and monitor the packets transmitted from theclient device 16. As such, the DHCP server device 20 provides the clientdevice 16 with an opportunity to resume its interaction with the DHCPserver device 20 when the client device 16 refrains from transmittingmultiple DHCP request packets to the DHCP server device 20. For example,when the packet transmission rate is less than the second packettransmission threshold, the DHCP server device 20 processes the packetsreceived from the client device 16. However, in the case where thepacket transmission rate is greater than the second packet transmissionthreshold, the DHCP server device 20 can detect this relationship asindicating the presence of a fatal error in the client device 16. As aresult, the DHCP server device 20 discards all subsequent packetsreceived from the client device 16. As such, the client device 16 isunable to renew or retrieve an IP address from the server device andwould require user attention.

While this invention has been particularly shown and described withreferences to preferred embodiments thereof, it will be understood bythose skilled in the art that various changes in form and details may bemade therein without departing from the spirit and scope of theinvention as defined by the appended claims.

For example, in the above described rate limiting process, a serverdevice counts the number of packets received over a particular timeinterval and compares the result with a preset packet transmissionthreshold. When the number of packets received from the client device inthe time period reaches or exceeds the packet threshold, the serverdevice can detect a potential malfunction of the client device and assuch, refrains from processing further packets from the client device.As indicated, the rate limiting process is adapted to communicationbetween a DHCP server and a DHCP client. Such description is by way ofexample only. In one arrangement, the rate limiting process can beutilized by any type of server device that normally receives multiplemessages or packets from devices on a network at a relatively low rate,such as one request per second.

1. In a server device, a method for rate limiting packets transmittedfrom a client device, comprising: receiving Dynamic Host ConfigurationProtocol (DHCP) request packets from the client device within a firsttime interval, the DHCP request packets including requests to renew alease of an Internet Protocol (IP) address provided by the serverdevice; detecting a packet reception rate based upon (i) a number ofDHCP request packets received from the client device within the firsttime interval and (ii) a duration of the first time interval; andcomparing the packet reception rate with a first packet receptionthreshold, when the packet reception rate is less than the first packetreception threshold, processing DHCP request packets from the clientdevice, and when the packet reception rate reaches the first packetreception threshold, continuing to receive DHCP request packets from theclient and discontinuing processing of each of the DHCP request packetsin response to continuing to receive the DHCP request packets; whereincomparing the packet reception rate with a first packet receptionthreshold comprises comparing the packet reception rate with a firstpacket reception threshold, the first packet reception thresholdconfigured as a rate between one packet per second and one-thousandpackets per second; and further comprising: transmitting a reset commandto the client device when the packet reception rate reaches the firstpacket reception threshold; detecting a reply from the client device inresponse to the reset command; when the reply includes a resetindicating activity from the client device, the reset indicatingactivity indicating that the client device has reset itself, processingsubsequent DHCP request packets received from the client device; andwhen the reply lacks the reset indicating activity, receiving DHCPrequest packets from the client device within a second time interval,detecting the packet reception rate based upon (i) the number of DHCPrequest packets received from the client device within the second timeinterval and (ii) the duration of the second time interval, andcomparing the packet reception rate with a second packet receptionthreshold.
 2. The method of claim 1, wherein receiving DHCP requestpackets from the client device comprises receiving variable lengthpackets from the client device within the first time interval.
 3. Themethod of claim 1, wherein the first time interval is substantially lessthan a lease interval associated with the lease of the Internet Protocol(IP) address provided by the server device.
 4. The method of claim 1,further comprising reviewing a client hardware address field of the DHCPrequest packets to identify the DHCP request packets as beingtransmitted from a single client device.
 5. The method of claim 1,further comprising: when discontinuing processing DHCP request packetsreceived from the client device, continuing to receive DHCP requestpackets from the client device within a second time interval, detect thepacket reception rate based upon (i) the number of DHCP request packetsreceived from the client device within the second time interval and (ii)the duration of the second time interval, and compare the packetreception rate with a second packet reception threshold; and when thepacket reception rate falls below the second packet reception threshold,processing the DHCP request packets received from the client device. 6.The method of claim 1, further comprising: when the packet receptionrate is less than the second packet reception threshold, processing DHCPrequest packets from the client device; and when the packet receptionrate is greater than the second packet reception threshold, discardingall subsequent DHCP request packets received from the client device. 7.The method of claim 1, wherein: transmitting the reset command to theclient device comprises transmitting a negative acknowledgement (NAK) tothe client device, the NAK indicating a denial, by the server device, tothe requests to renew the lease of the IP address provided by the serverdevice; processing comprises processing subsequent DHCP request packetsreceived from the client device when the reply comprises a DHCP discovermessage from the client device, the DHCP discover message initiating anIP address assignment procedure in the server device; and continuing toreceive packets comprises continuing to receive DHCP request packetsfrom the client device within the second time interval, detect thepacket reception rate based upon (i) the number of packets received fromthe client device within the second time interval and (ii) the durationof the second time interval, and compare the packet reception rate withthe packet reception threshold when the reply comprises DHCP requestpackets from the client device, the DHCP request packets includingrequest to renew a lease of an Internet Protocol address provided by theserver device.
 8. A server device, comprising: at least onecommunications interface; a controller; and an interconnection mechanismcoupling the at least one communications interface and the controller;wherein the controller is configured to: receive Dynamic HostConfiguration Protocol (DHCP) request packets from the client devicewithin a first time interval, the DHCP request packets includingrequests to renew a lease of an Internet Protocol (IP) address providedby the server device; detect a packet reception rate based upon (i) anumber of DHCP request packets received from the client device withinthe first time interval and (ii) a duration of the first time interval;and compare the packet reception rate with a first packet transmissionthreshold, when the packet transmission rate is less than the firstpacket transmission threshold, process DHCP request packets from theclient device, and when the packet reception rate reaches the firstpacket reception threshold, continuing to receive DHCP request packetsfrom the client and discontinuing processing each of the DHCP requestpackets in response to continuing to receive the DHCP request packets;wherein when comparing the packet reception rate with a first packetreception threshold, the controller is configured to compare the packetreception rate with a first packet reception threshold, the first packetreception threshold configured as a rate between one packet per secondand one-thousand packets per second; and wherein the controller isfurther configured to: transmit a reset command to the client devicewhen the packet reception rate reaches the first packet receptionthreshold; detect a reply from the client device in response to thereset command; when the reply includes a reset indicating activity fromthe client device, the reset indicating activity indicating that theclient device has reset itself, process subsequent DHCP request packetsreceived from the client device; and when the reply lacks the resetindicating activity, receive DHCP request packets from the client devicewithin a second time interval, detect the packet reception rate basedupon (i) the number of DHCP request packets received from the clientdevice within the second time interval and (ii) the duration of thesecond time interval, and compare the packet reception rate with asecond packet reception threshold.
 9. The server device of claim 8,wherein the first time interval is substantially less than a leaseinterval associated with the lease of the Internet Protocol (IP) addressprovided by the server device.
 10. The server device of claim 8, whereinthe controller is configured to review a client hardware address fieldof the DHCP request packets to identify the DHCP request packets asbeing transmitted from a single client device.
 11. The server device ofclaim 8, wherein: the controller is further configured to continue toreceive DHCP request packets from the client device within a second timeinterval, detect the packet reception rate based upon (i) the number ofDHCP request packets received from the client device within the secondtime interval and (ii) the duration of the second time interval, andcompare the packet reception rate with a second packet receptionthreshold; and when the packet reception rate falls below the secondpacket reception threshold, the controller is further configured toprocess the DHCP request packets received from the client device. 12.The server device of claim 8, wherein the controller is furtherconfigured to: when the packet reception rate is less than the secondpacket reception threshold, process DHCP request packets from the clientdevice; and when the packet reception rate is greater than the secondpacket reception threshold, discard DHCP request packets received fromthe client device.
 13. The server device of claim 8, wherein thecontroller is configured to: transmit a negative acknowledgement (NAK)to the client device; the NAK indicating a denial, by the server device,to the requests to renew the lease of the IP address provided by theserver device; process subsequent DHCP request packets received from theclient device when the reply comprises a DHCP discover message from theclient device, the DHCP discover message initiating an IP addressassignment procedure in the server device; and when continuing toreceive DHCP request packets, continue to receive DHCP request packetsfrom the client device within the second time interval, detect thepacket reception rate based upon (i) the number of packets received fromthe client device within the second time interval and (ii) the durationof the second time interval, and compare the packet reception rate withthe packet reception threshold when the reply comprises DHCP requestpackets from the client device, the DHCP request packets includingrequest to renew a lease of an Internet Protocol address provided by theserver device.
 14. The server device of claim 8, wherein the serverdevice is a DHCP server configured to assign IP addresses to requestingclient devices.
 15. In a server device, a method for rate limitingpackets transmitted from a client device, comprising: receiving packetsfrom the client device within a first time interval; detecting a packettransmission rate based upon (i) a number of packets received from theclient device within the first time interval and (ii) a duration of thefirst time interval; comparing the packet transmission rate with a firstpacket transmission threshold, when the packet transmission rate is lessthan the first packet transmission threshold, processing the packetsfrom the client device, and when the packet transmission rate reachesthe first packet transmission threshold, continuing to receive packetsfrom the client and discontinuing processing each of the packets inresponse to continuing to receive the packets; transmitting a resetcommand to the client device when the packet transmission rate reachesthe first packet transmission threshold; detecting a reply from theclient device in response to the reset command; processing subsequentpackets received from the client device when the reply comprises a resetindicating activity from the client device, the reset indicatingactivity indicating that the client device has reset itself; andcontinuing to receive packets from the client device within a secondtime interval, detect the packet transmission rate based upon (i) thenumber of packets received from the client device within the second timeinterval and (ii) the duration of the second time interval, and comparethe packet transmission rate with a second packet transmission thresholdwhen the reply lacks the reset indicating activity.
 16. The method ofclaim 15, wherein the packets are Dynamic Host Configuration Protocol(DHCP) request packets and further comprising reviewing a clienthardware address field of the DHCP request packets to identify the DHCPrequest packets as being transmitted from a single client device.